package com.yzh.openai.types.enums;


import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 记录所有可用的模型，以及扣减额度
 */
@Getter
@AllArgsConstructor
public enum AIModel {
    // all代表所有的模型
    ALL_MODEL("all", 0),      //仅供校验可用模型而使用
    GPT_3_5_TURBO("gpt-3.5-turbo", 1),  //文生文
    GLM_TURBO("chatglm_turbo", 1),      //文生文
    GLM_3_TURBO("glm-3-turbo", 1),      //文生文
    GLM_4("glm-4", 5),                  //文生文    0.1/千tokens
    GLM_4V("glm-4v", 5),                //文图解析  0.1/千tokens
    COGVIEW_3("cogview-3", 10),         //文生图    0.25/1张图

    ;
    private final String code;
    private final Integer cost;

    public static AIModel getEnum(String model) {
        for (AIModel value : AIModel.values()) {
            if (value.code.equals(model)) {
                return value;
            }
        }
        //为null就是传入的模型是错误的
        return null;
    }
}
